home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / gcc / ixemul-4.lha / ixemul-41.4 / Makefile.in < prev    next >
Makefile  |  1995-10-05  |  12KB  |  308 lines

  1. #### Start of system configuration section. ####
  2.  
  3. srcdir =    @srcdir@
  4. VPATH =        @srcdir@
  5.  
  6. # Common prefix for machine-independent installed files.
  7. prefix =    @prefix@
  8.  
  9. # Common prefix for machine-dependent installed files.
  10. exec_prefix =    @exec_prefix@
  11.  
  12. bindir =    $(exec_prefix)/bin
  13. libdir =    $(exec_prefix)/lib
  14. syslibdir =    $(exec_prefix)/Sys/libs
  15. incdir =    $(exec_prefix)/include
  16.  
  17. INSTALL =    @INSTALL@
  18. INSTALL_DATA =    @INSTALL_DATA@
  19.  
  20. CC =        @CC@
  21. CFLAGS =    @CFLAGS@
  22. LDFLAGS =    @LDFLAGS@
  23.  
  24. RANLIB =    @RANLIB@
  25.  
  26. #### End system configuration section ####
  27.  
  28. # Default is generic m68k version with no FPU support.
  29.  
  30. CPU =        68000
  31. FPU =        soft-float
  32. BASE =        no-baserel
  33.  
  34. # Some additional options for OTHER_CFLAGS that may or may not be useful are:
  35. #
  36. # -funroll-loops
  37. # -fforce-mem
  38. # -DDEBUG_VERSION    (build a debugging version)
  39.  
  40. #Use the flag to suppress stack extension when 2.6.4/2.7 is installed.
  41. #STACKEXTEND =    -mnostackextend
  42. OTHER_CFLAGS =    -fomit-frame-pointer $(STACKEXTEND)
  43.  
  44. BASE_FLAGS_TO_PASS = \
  45.         "BASE=$(BASE)" \
  46.         "BUILDDIR=$(BUILDDIR)" \
  47.         "CC=$(CC)" \
  48.         "CFLAGS=$(CFLAGS)" \
  49.         "CPU=$(CPU)" \
  50.         "FPU=$(FPU)" \
  51.         "LDFLAGS=$(LDFLAGS)" \
  52.         "OTHER_CFLAGS=$(OTHER_CFLAGS)" \
  53.         "RANLIB=$(RANLIB)"
  54.  
  55. FLAGS_TO_PASS =    $(BASE_FLAGS_TO_PASS) $(EXTRA_FLAGS_TO_PASS)
  56.  
  57. ###  The default thing to do is to make all reasonable combinations of the
  58. ###  library.
  59. ###
  60. ###  Note that libsrc, which builds the runtime startup files and both
  61. ###  versions of libc.a, completely ignores the FPU/CPU/BASE variables,
  62. ###  so we just call it directly.  Also note that the 68000 versions
  63. ###  of the files MUST be built before libsrc.
  64. ###
  65. ###  Other than the restriction noted above, you can comment out specific
  66. ###  CPU/FPU combinations that you are not interested in.  However you
  67. ###  do have to build both the baserel and no-baserel versions for the
  68. ###  combinations you want to build.
  69.  
  70. all:
  71.         $(MAKE) build CPU=68000 FPU=soft-float BASE=no-baserel
  72.         $(MAKE) build CPU=68000 FPU=soft-float BASE=baserel
  73.         $(MAKE) build CPU=68020 FPU=68881      BASE=no-baserel
  74.         $(MAKE) build CPU=68020 FPU=68881      BASE=baserel
  75.         $(MAKE) build CPU=68020 FPU=soft-float BASE=no-baserel
  76.         $(MAKE) build CPU=68020 FPU=soft-float BASE=baserel
  77.         $(MAKE) build CPU=68030 FPU=68881      BASE=no-baserel
  78.         $(MAKE) build CPU=68030 FPU=68881      BASE=baserel
  79.         $(MAKE) build CPU=68030 FPU=soft-float BASE=no-baserel
  80.         $(MAKE) build CPU=68030 FPU=soft-float BASE=baserel
  81.         $(MAKE) build CPU=68040 FPU=68881      BASE=no-baserel
  82.         $(MAKE) build CPU=68040 FPU=68881      BASE=baserel
  83.         $(MAKE) build CPU=68040 FPU=soft-float BASE=no-baserel
  84.         $(MAKE) build CPU=68040 FPU=soft-float BASE=baserel
  85.         @(cd libsrc && $(MAKE) $(FLAGS_TO_PASS))
  86.         @(cd ixtrace && $(MAKE) $(FLAGS_TO_PASS))
  87.  
  88. ###  The "build" target makes a single flavor of the library.  I.E.
  89. ###  the 68040+FPU version.
  90.  
  91. build:
  92.         @$(MAKE) gen_library-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  93.         @$(MAKE) glue-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  94.         @$(MAKE) gnulib-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  95.         @$(MAKE) gnulib-$(FPU)-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  96.         @$(MAKE) network-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  97.         @$(MAKE) stack-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  98.         @$(MAKE) static-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  99.         @$(MAKE) stdio_2-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  100.         @$(MAKE) stdlib-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  101.         @$(MAKE) string-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  102.         @$(MAKE) library-$(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS)
  103.  
  104. ###  These targets are used to map a generic target <builddir>-<BASE>-<CPU>-<FPU>
  105. ###  to one of the less complicated targets.  I.E. if something only needs to
  106. ###  be built for a particular CPU and FPU, and the value of BASE is irrelevant,
  107. ###  then it would be mapped to <CPU>-<FPU>.
  108.  
  109. gen_library-$(BASE)-$(CPU)-$(FPU):
  110.         @$(MAKE) $(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=gen_library
  111.  
  112. glue-$(BASE)-$(CPU)-$(FPU):
  113.         @$(MAKE) $(BASE) $(FLAGS_TO_PASS) BUILDDIR=glue
  114.  
  115. gnulib-$(BASE)-$(CPU)-$(FPU):
  116.         @$(MAKE) $(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=gnulib
  117.  
  118. gnulib-$(FPU)-$(BASE)-$(CPU)-$(FPU):
  119.         @$(MAKE) $(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=gnulib-$(FPU)
  120.  
  121. library-$(BASE)-$(CPU)-$(FPU):
  122.         @$(MAKE) $(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=library
  123.  
  124. network-$(BASE)-$(CPU)-$(FPU):
  125.         @$(MAKE) $(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=network
  126.  
  127. stack-$(BASE)-$(CPU)-$(FPU):
  128.         @$(MAKE) $(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=stack
  129.  
  130. static-$(BASE)-$(CPU)-$(FPU):
  131.         @$(MAKE) $(BASE)-$(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=static
  132.  
  133. stdio_2-$(BASE)-$(CPU)-$(FPU):
  134.         @$(MAKE) $(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=stdio_2
  135.  
  136. stdlib-$(BASE)-$(CPU)-$(FPU):
  137.         @$(MAKE) $(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=stdlib
  138.  
  139. string-$(BASE)-$(CPU)-$(FPU):
  140.         @$(MAKE) $(CPU)-$(FPU) $(FLAGS_TO_PASS) BUILDDIR=string
  141.  
  142. ###  These targets are the ones that are reduced from the full generic
  143. ###  targets, on a per directory basis.  I.E. if it is only necessary
  144. ###  to build versions for a specific BASE and the CPU/FPU combination
  145. ###  is irrelevant, then the generic target is mapped to just BASE.
  146.  
  147. # This target is for things that are only dependent on BASE.
  148.  
  149. $(BASE):
  150.         @if [ -d $(BUILDDIR)/$(BASE) ]; then \
  151.             true; \
  152.         else \
  153.             echo mkdir -p $(BUILDDIR)/$(BASE); \
  154.             mkdir -p $(BUILDDIR)/$(BASE); \
  155.         fi;
  156.         @(cd $(BUILDDIR)/$(BASE) ; $(MAKE) -f ../Makefile $(FLAGS_TO_PASS));
  157.  
  158. # This target is for things that are only dependent on CPU and FPU.
  159.  
  160. $(CPU)-$(FPU):
  161.         @if [ -d $(BUILDDIR)/$(CPU)/$(FPU) ]; then \
  162.             true; \
  163.         else \
  164.             echo mkdir -p $(BUILDDIR)/$(CPU)/$(FPU); \
  165.             mkdir -p $(BUILDDIR)/$(CPU)/$(FPU); \
  166.         fi;
  167.         @(cd $(BUILDDIR)/$(CPU)/$(FPU) ; $(MAKE) -f ../../Makefile $(FLAGS_TO_PASS))
  168.  
  169. # This target is for things that are dependent on CPU, FPU, and BASE.
  170.  
  171. $(BASE)-$(CPU)-$(FPU):
  172.         @if [ -d $(BUILDDIR)/$(BASE)/$(CPU)/$(FPU) ]; then \
  173.             true; \
  174.         else \
  175.             echo mkdir -p $(BUILDDIR)/$(BASE)/$(CPU)/$(FPU); \
  176.             mkdir -p $(BUILDDIR)/$(BASE)/$(CPU)/$(FPU); \
  177.         fi;
  178.         @(cd $(BUILDDIR)/$(BASE)/$(CPU)/$(FPU) ; $(MAKE) -f ../../../Makefile $(FLAGS_TO_PASS));
  179.  
  180. ###  Install all the libraries, include files, runtime files, etc.
  181.  
  182. install:
  183.         $(INSTALL) library/68000/soft-float/ixconfig $(bindir)/ixconfig
  184.         $(INSTALL) library/68000/soft-float/ixemul.library $(syslibdir)/ixemul.library
  185.         $(INSTALL) library/68000/soft-float/ixemul.trace $(syslibdir)/ixemul.trace
  186.         $(INSTALL) library/68000/soft-float/ixemul.library $(syslibdir)/ixemul000.library
  187.         $(INSTALL) library/68000/soft-float/ixemul.trace $(syslibdir)/ixemul000.trace
  188.         $(INSTALL) library/68020/soft-float/ixemul.library $(syslibdir)/ixemul020.library
  189.         $(INSTALL) library/68020/soft-float/ixemul.trace $(syslibdir)/ixemul020.trace
  190.         $(INSTALL) library/68030/soft-float/ixemul.library $(syslibdir)/ixemul030.library
  191.         $(INSTALL) library/68030/soft-float/ixemul.trace $(syslibdir)/ixemul030.trace
  192.         $(INSTALL) library/68040/soft-float/ixemul.library $(syslibdir)/ixemul040.library
  193.         $(INSTALL) library/68040/soft-float/ixemul.trace $(syslibdir)/ixemul040.trace
  194.         $(INSTALL) library/68020/68881/ixemul.library $(syslibdir)/ixemul020fpu.library
  195.         $(INSTALL) library/68020/68881/ixemul.trace $(syslibdir)/ixemul020fpu.trace
  196.         $(INSTALL) library/68030/68881/ixemul.library $(syslibdir)/ixemul030fpu.library
  197.         $(INSTALL) library/68030/68881/ixemul.trace $(syslibdir)/ixemul030fpu.trace
  198.         $(INSTALL) library/68040/68881/ixemul.library $(syslibdir)/ixemul040fpu.library
  199.         $(INSTALL) library/68040/68881/ixemul.trace $(syslibdir)/ixemul040fpu.trace
  200.         $(INSTALL) libsrc/bcrt0.o $(libdir)/bcrt0.o
  201.         $(INSTALL) libsrc/crt0.o $(libdir)/crt0.o
  202.         $(INSTALL) libsrc/rcrt0.o $(libdir)/rcrt0.o
  203.         $(INSTALL) libsrc/libc.a $(libdir)/libc.a
  204.         $(INSTALL) libsrc/libbc.a $(libdir)/libb/libc.a
  205.         $(INSTALL) ixtrace/ixtrace $(bindir)/ixtrace
  206.         (cd $(srcdir)/include && cp -r . $(incdir))
  207.         
  208. clean:
  209.         (cd gen_library ; $(MAKE) $(FLAGS_TO_PASS) clean)
  210.         (cd gnulib ; $(MAKE) $(FLAGS_TO_PASS) clean)
  211.         (cd gnulib-soft-float ; $(MAKE) $(FLAGS_TO_PASS) clean)
  212.         (cd gnulib-68881 ; $(MAKE) $(FLAGS_TO_PASS) clean)
  213.         (cd library ; $(MAKE) $(FLAGS_TO_PASS) clean)
  214.         (cd stdio_2 ; $(MAKE) $(FLAGS_TO_PASS) clean)
  215.         (cd stdlib ; $(MAKE) $(FLAGS_TO_PASS) clean)
  216.         (cd string ; $(MAKE) $(FLAGS_TO_PASS) clean)
  217.         (cd network ; $(MAKE) $(FLAGS_TO_PASS) clean)
  218.  
  219. # Build source and binary distribution files.
  220.  
  221. dist:
  222.         #
  223.         # First get rid of any leftovers from a previous "make dist"
  224.         #
  225.         rm -rf gnu ixemul-bin *.lha
  226.         #
  227.         # Create ixemul-XX.YY-bin.lha, which contains utilities
  228.         # that are generally useful to ixemul.library users.
  229.         #
  230.         mkdir -p gnu/bin
  231.         cp -p library/68000/soft-float/ixconfig gnu/bin/ixconfig
  232.         cp -p ixtrace/ixtrace gnu/bin/ixtrace
  233.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-bin.lha bin)
  234.         sleep 10
  235.         rm -rf gnu
  236.         #
  237.         # Create ixemul-XX.YY-sdk.lha, which contains the files that
  238.         # programmers need to build ixemul.library using applications.
  239.         #
  240.         mkdir -p gnu/lib/libb
  241.         cp -p libsrc/bcrt0.o gnu/lib/bcrt0.o
  242.         cp -p libsrc/crt0.o gnu/lib/crt0.o
  243.         cp -p libsrc/rcrt0.o gnu/lib/rcrt0.o
  244.         cp -p libsrc/libc.a gnu/lib/libc.a
  245.         cp -p libsrc/libbc.a gnu/lib/libb/libc.a
  246.         mkdir -p gnu/include
  247.         cp -pr $(srcdir)/include gnu
  248.         mkdir -p gnu/man
  249.         cp -pr $(srcdir)/man gnu
  250.         rm -f gnu/man/Makefile
  251.         rm -f gnu/man/makewhatis.sed
  252.         rm -f gnu/man/whatis.db
  253.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-sdk.lha lib include man)
  254.         sleep 10
  255.         rm -rf gnu
  256.         #
  257.         # Create ixemul-XX.YY-doc.lha, which contains various documentation
  258.         # files.
  259.         #
  260.         mkdir ixemul-bin
  261.         cp -p $(srcdir)/COPYING ixemul-bin/COPYING
  262.         cp -p $(srcdir)/COPYING.LIB ixemul-bin/COPYING.LIB
  263.         cp -p $(srcdir)/INSTALL ixemul-bin/INSTALL
  264.         cp -p $(srcdir)/NEWS ixemul-bin/NEWS
  265.         cp -p $(srcdir)/BUGS ixemul-bin/BUGS
  266.         cp -p $(srcdir)/TODO ixemul-bin/TODO
  267.         cp -p $(srcdir)/docs/README ixemul-bin/README
  268.         cp -p $(srcdir)/ixtrace/README ixemul-bin/README.ixtrace
  269.         lha -mraxeq a `basename $(srcdir)`-doc.lha ixemul-bin
  270.         rm -rf ixemul-bin
  271.         #
  272.         # Create ixemul-XX.YY-src.lha, which contains the source code.
  273.         # Do it in a temporary location so we don't have to
  274.         # know where the build dir is, or translate between
  275.         # Unix & AmigaDOS forms.
  276.         #
  277.         rm -f /tmp/ixemul-src.lha
  278.         (cd $(srcdir)/.. && lha -mraxeq a tmp:ixemul-src.lha `basename $(srcdir)`)
  279.         cp /tmp/ixemul-src.lha `basename $(srcdir)`-src.lha
  280.         rm -f /tmp/ixemul-src.lha
  281.         #
  282.         # Create ixemul-XX.YY-<cpu><fpu>.lha
  283.         #
  284.         mkdir -p gnu/Sys/libs
  285.         cp -p library/68000/soft-float/ixemul.library gnu/Sys/libs/ixemul000.library
  286.         cp -p library/68000/soft-float/ixemul.trace gnu/Sys/libs/ixemul000.trace
  287.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-0s.lha Sys)
  288.         rm -f gnu/Sys/libs/*
  289.         cp -p library/68020/soft-float/ixemul.library gnu/Sys/libs/ixemul020.library
  290.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-2s.lha Sys)
  291.         rm -f gnu/Sys/libs/*
  292.         cp -p library/68030/soft-float/ixemul.library gnu/Sys/libs/ixemul030.library
  293.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-3s.lha Sys)
  294.         rm -f gnu/Sys/libs/*
  295.         cp -p library/68040/soft-float/ixemul.library gnu/Sys/libs/ixemul040.library
  296.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-4s.lha Sys)
  297.         rm -f gnu/Sys/libs/*
  298.         cp -p library/68020/68881/ixemul.library gnu/Sys/libs/ixemul020fpu.library
  299.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-2f.lha Sys)
  300.         rm -f gnu/Sys/libs/*
  301.         cp -p library/68030/68881/ixemul.library gnu/Sys/libs/ixemul030fpu.library
  302.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-3f.lha Sys)
  303.         rm -f gnu/Sys/libs/*
  304.         cp -p library/68040/68881/ixemul.library gnu/Sys/libs/ixemul040fpu.library
  305.         (cd gnu && lha -mraxeq a /`basename $(srcdir)`-4f.lha Sys)
  306.         sleep 10
  307.         rm -f gnu
  308.